// pages/myinfor/myinfor.js
var util = require('../../utils/sever.js');
var network = require('../../utils/network.js');
var timer;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userIn: {},
    myCarCard: "",
    isShow: "none",
    isGeneralize: "none",
    yzms: 60,
    yzmclic: true,
    yzmnumber: false,
    phone: "",
    authcode: "",
    changeVIP: "立即充值",
    isChangeVIP: false,
    VipNumber: 0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    const updateManager = wx.getUpdateManager()

    updateManager.onCheckForUpdate(function(res) {
      // 请求完新版本信息的回调
      console.log(res.hasUpdate)
    })

    updateManager.onUpdateReady(function() {
      wx.showModal({
        title: '更新提示',
        content: '新版本已经准备好，是否重启应用？',
        success: function(res) {
          if (res.confirm) {
            var pages = getCurrentPages() //获取加载的页面
            var currentPage = pages[pages.length - 1] //获取当前页面的对象
            var urll = currentPage.route + "" //当前页面url
            urll = urll.split("/")
            util.setToken("mypageTow", "../" + urll[1] + "/" + urll[2])
            // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate()
          }
        }
      })
    })

    updateManager.onUpdateFailed(function() {
      // 新版本下载失败
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {
    this.useerInfor()
    this.setData({
      isShow: "none"
    })
    // var carid = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[a-zA-Z](([DF]((?![IO])[a-zA-Z0-9](?![IO]))[0-9]{4})|([0-9]{5}[DF]))|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;
    // console.log(carid.test("渝AB0271"))
    // if (!carid.test("渝AB02711")) {

    //   wx.showToast({
    //     icon: "none",
    //     title: '请输入正确车牌号',
    //   })
    // }

    this.getUserMyInfo()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {
    return {
      title: util.title,
      path: 'pages/index/index',
      imageUrl: util.imageUrl,
      success: function(res) {
        // 转发成功
        console.log("转发成功:" + JSON.stringify(res));
      },
      fail: function(res) {
        // 转发失败
        console.log("转发失败:" + JSON.stringify(res));
      }
    }
  },
  //个人信息
  useerInfor: function() {
    var _this = this;
    network.requestLoading(util.getRequestUrl + "/api/user/getUserInfo", "", '正在加载数据', util.myToken("myToken"), function(res) {
        if (res.data.vip.length > 0) {
          _this.setData({
            changeVIP: "变更套餐",
            isChangeVIP: true
          })
        }
        if (!res.data.is_info) {
          _this.getUserMyInfo()
        }
        if (!res.data.phone) {
          wx.showToast({
            icon: "none",
            title: '请完善个人信息',
          })
        }
        _this.setData({
          userIn: res.data,
          myCarCard: res.data.vehicle_id,
          VipNumber: res.data.vip.length
        })
      },
      function() {
        wx.showToast({
          icon: "none",
          title: '加载数据失败',
        })
      })
  },
  getUserMyInfo: function() {
    var _this = this;
    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: res => {
              // console.log(res)
              // 可以将 res 发送给后台解码出 unionId
              // res.userInfo
              var data = {
                nickname: res.userInfo.nickName ? res.userInfo.nickName : "",
                image: res.userInfo.avatarUrl ? res.userInfo.avatarUrl : ""
              }
              _this.upUser(data)
            }
          })
        } else {
          wx.redirectTo({
            url: '../authorization/authorization'
          })
        }
      }
    })
  },
  upUser: function(data) {
    var _this = this;
    network.requestLoading(util.getRequestUrl + "/api/user/saveUserInfo", data, '', util.myToken("myToken"), function(res) {
      // wx.switchTab({
      //   url: '../myinfor/myinfor'
      // })
      _this.useerInfor()
    }, function() {
      wx.showToast({
        icon: "none",
        title: '加载数据失败',
      })
    })
  },
  //充值
  renewal: function() {
    if (this.data.isChangeVIP) {
      wx.navigateTo({
        url: '../changrenewal/changrenewal'
      })
    } else {
      wx.navigateTo({
        url: '../renewal/renewal'
      })
    }
  },
  renewalTow: function() {
    wx.navigateTo({
      url: '../renewal/renewal'
    })
  },
  //联系客服
  mykefu: function() {
    var _this = this;
    wx.makePhoneCall({
      phoneNumber: _this.data.userIn.customer,
      success: function() {},
      fail: function() {}
    })
  },
  //意见反馈
  feedback: function() {
    wx.navigateTo({
      url: '../feedback/feedback'
    })
  },
  //洗车记录
  washcar: function() {
    wx.navigateTo({
      url: '../washcar/washcar'
    })
  },
  //评论记录
  comment: function() {
    wx.navigateTo({
      url: '../reviewrecords/reviewrecords'
      // url: '../IsNo/IsNo'
    })
  },
  //确认洗车记录
  confirmrecord: function() {
    wx.navigateTo({
      url: '../confirmrecord/confirmrecord'
    })
  },
  //扫一扫
  myScanCode: function() {

    var _this = this;
    wx.navigateTo({
      url: '../begancar/begancar'
    });
    // if (_this.data.userIn.phone) {
    //   wx.scanCode({
    //     success: (res) => {
    //       // console.log(res);
    //       var data = {
    //         data: res.result
    //       }
    //       _this.erWeiMa(data)
    //     },
    //     fail: (res) => {
    //       // console.log(res);
    //     }
    //   })
    // } else {
    //   wx.showToast({
    //     icon: "none",
    //     title: '请先完善信息',
    //   })
    // }

  },

  //扫二维码
  erWeiMa: function(data) {
    var _this = this;
    network.requestLoading(util.getRequestUrl + "/api/user/userToWash", data, '正在加载数据', util.myToken("myToken"), function(res) {
        console.log(res)
        if (res.code == 200) {
          wx.navigateTo({
            url: '../IsOk/IsOk'
          })
        }
      },
      function() {
        wx.showToast({
          icon: "none",
          title: '加载数据失败',
        })
      })
  },
  //车牌号
  popu: function(e) {
    this.setData({
      myCarCard: e.detail.value
    })
  },
  //手机号
  phone: function(e) {
    this.setData({
      phone: e.detail.value
    })
  },
  //验证码
  yzmNumber: function(e) {
    this.setData({
      authcode: e.detail.value
    })
  },
  //绑定车牌
  upCarCard: function() {
    var _this = this;
    // var carid = /^(([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z](([0-9]{5}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳使领]))$/;
    var carid = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[a-zA-Z](([DF]((?![IO])[a-zA-Z0-9](?![IO]))[0-9]{4})|([0-9]{5}[DF]))|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;

    var reg = /^[0-9]*$/;
    if (!reg.test(_this.data.phone) || _this.data.phone.length != 11) {
      wx.showToast({
        icon: "none",
        title: '请输入正确手机号',
      })
      return
    }
    if (!reg.test(_this.data.authcode) || _this.data.authcode.length == 0) {
      wx.showToast({
        icon: "none",
        title: '请输入验证码',
      })
      return
    }
    // if (!carid.test(_this.data.myCarCard)) {
    //   wx.showToast({
    //     icon: "none",
    //     title: '请输入正确车牌号',
    //   })
    //   return
    // }
    var data = {
      // vehicle: _this.data.myCarCard,
      phone: _this.data.phone,
      code: _this.data.authcode
    }
    wx.showLoading({
      title: '正在绑定',
    })
    network.requestLoading(util.getRequestUrl + "/api/user/phoneBound", data, '正在加载数据', util.myToken("myToken"), function(res) {
        wx.hideLoading()
        wx.showToast({
          icon: "none",
          title: '绑定成功',
        })
        _this.setData({
          isShow: "none"
        })
        _this.useerInfor();
      },
      function() {
        wx.showToast({
          icon: "none",
          title: '加载数据失败',
        })
      })
  },
  //绑定车牌按钮
  carCardBtn: function() {
    this.setData({
      isShow: "block"
    })
  },
  //我的推广
  generalize: function() {
    wx.navigateTo({
      url: '../generalize/generalize'
    })
  },
  //获取验证码
  yzmclick: function() {
    var _this = this;
    var reg = /^[0-9]*$/;
    if (!reg.test(_this.data.phone) || _this.data.phone.length != 11) {
      wx.showToast({
        icon: "none",
        title: '请输入正确手机号',
      })
      return
    }
    wx.showLoading({
      title: '正在获取',
    })
    var data = {
      phone: _this.data.phone
    }
    network.requestLoading(util.getRequestUrl + "/api/user/sendSms", data, '正在加载数据', util.myToken("myToken"), function(res) {
        wx.hideLoading()
        wx.showToast({
          icon: "none",
          title: '获取成功',
        })
        _this.setData({
          yzmclic: false,
          yzmnumber: true,
        })
        _this.countDown()
      },
      function() {
        wx.showToast({
          icon: "none",
          title: '加载数据失败',
        })
      })
  },
  //车牌信息
  caridinfor: function() {
    var _this = this;
    if (!_this.data.userIn.phone) {
      // userIn
      wx.showToast({
        icon: "none",
        title: '请完善个人信息',
      })
      return
    }
    wx.navigateTo({
      url: '../caridinfor/caridinfor'
    })
  },
  //新增车位
  addCarId: function() {
    var _this = this;
    if (!_this.data.userIn.phone) {
      // userIn
      wx.showToast({
        icon: "none",
        title: '请完善个人信息',
      })
      return
    }
    wx.navigateTo({
      url: '../addCarId/addCarId'
    })
  },

  //倒计时
  countDown: function() {
    var _this = this;
    timer = setTimeout(function() {
      _this.setData({
        yzms: --_this.data.yzms,
      })
      if (_this.data.yzms == 0) {
        clearTimeout(timer);
        _this.setData({
          yzmclic: true,
          yzmnumber: false,
          yzms: 60
        })
      } else {
        _this.countDown()
      }

    }, 1000)
  }
})